package com.example.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import java.io.File;

@Service

public class FileDeleteTask {

    private Logger logger = LoggerFactory.getLogger(FileDeleteTask.class);

//    @Scheduled(cron = "0 0 0 1/1 * ?")
    @Scheduled(cron = "0 45 16 1/1 * ?")
    public void TempFileDelete() {
//        File fileZipDir = new File("/home/uniubi/zipFile");
//        File fileUnZipDir = new File("/home/uniubi/unZipFile");
//
//        deleteFile(fileZipDir);
//        deleteFile(fileUnZipDir);
    	for(int i = 0 ; i < 1000; i ++) {
    		System.out.println("-------------------------");
    	}
    }

    private void deleteFile(File file) {
        // 是文件直接删除
        if (file.exists()) {
            if (file.isFile()) {
                file.delete();
                logger.info("删除文件：" + file.getAbsolutePath());

            } else {
                // 如果是空文件夹，直接删除文件夹
                if (file.listFiles().length == 0) {
                    file.delete();
                    logger.info("删除文件夹：" + file.getAbsolutePath());
                }
                else {
                    // 如果不是空文件夹，先删掉里边的文件，再删除文件夹本身
                    File[] fileList = file.listFiles();
                    for(File innerFile  : fileList) {
                        deleteFile(innerFile);
                    }
                    file.delete();
                    System.out.println("删除文件夹：" + file.getAbsolutePath());
                }
            }
        } else {
            logger.info("不存在需要删除的文件");
        }

    }
}
